interface Settings {
    lianke_token: string;
}

interface LoginResponse {
    token: string;
}

interface LoginPayload {
    data: LoginResponse;
}

interface Location {
    latitude: number;
    longitude: number;
}

export type PaperType = 'A3' | 'A4';

interface Printer {
    id: number;
    name: string;
    drivce_id: number;
    machine_id: number;
    store_id: number;
    MDL: string;
    a3_black_white_price: string;
    a3_color_price: string;
    a3_double_black_white_price: string;
    a3_double_color_price: string;
    a3_double_image_black_white_price: string;
    a3_double_image_color_price: string;
    a3_image_black_white_price: string;
    a3_image_color_price: string;
    a4_black_white_price: string;
    a4_color_price: string;
    a4_double_black_white_price: string;
    a4_double_color_price: string;
    a4_double_image_black_white_price: string;
    a4_double_image_color_price: string;
    a4_image_black_white_price: string;
    a4_image_color_price: string;
    created_at: string;
    drivce_name: string;
    driver_name: string;
    driver_type: number;
    hash_id: string;
    isPrinter: number;
    is_view: number;
    latitude: number;
    longitude: number;
    paper_types_supported: PaperType[];
    photo_price: string;
    port: number;
    printer_name: string;
    printer_state: string;
    product: string;
    qr_code: string;
    qr_code_url: string;
    remaining_a3: number;
    remaining_a4: number;
    remaining_photo: number;
    species: number;
    support_status: number;
    supports_color: number;
    supports_double_side: number;
    supports_photo: number;
    toner: number;
    updated_at: string;
}

interface Machine {
    id: number;
    store_id: number;
    device_id: string;
    device_password: string;
    name: string;
    agent_id: number;
    created_at: string;
    updated_at: string;
    printer: Printer;
    store: Store;
}

interface Store {
    id: number;
    user_id: number;
    name: string;
    person_name: string;
    phone: string;
    address: string;
    agent_id: number;
    agent_profit: string;
    cashed_out: string;
    created_at: string;
    latitude: number;
    logo: string;
    longitude: number;
    pending_withdrawal_amount: string;
    profit: number;
    status: number;
    total_income: string;
    updated_at: string;
    withdrawal_amount: string;
}

export type {Settings, LoginPayload, Location, Printer, Machine, Store};
